package com.exam.system.dao;

import com.exam.system.entity.ExamQuestion;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Component
public interface ExamQuestionDao {
    //获取所有题目列表
    List<ExamQuestion> findAll();
    //禁用题目
    int forbidden(@Param("id") Integer id);
    //启用题目
    int enable(@Param("id")Integer id);
    //多条件查询
    List<ExamQuestion> findQuestionsByQuery(@Param("question") String question,@Param("tags") String  tags,@Param("type") String type);

    // 根据题目类型和题库查询题目
    List<ExamQuestion> findQuestionByTypeAndLibrary(@Param("type") String type,@Param("quesBankName") String quesBankName);

    //根据题目id查找题目
    ExamQuestion findByQuesId(@Param("id")Integer id);

    //根据题目id,修改题目的标签，题干，题目解析
    int updateQuestion(@Param("id")Integer id,@Param("tags")String tags,@Param("question")String question,@Param("analysis")String analysis);
    //添加题目
    int addQuestion(ExamQuestion examQuestion);

    // 根据题目类型和题库查询题目和答案
    List<ExamQuestion> findQuestionAndAnswerByTypeAndLibrary(@Param("type") String type, @Param("quesBankName") String quesBankName);

    // 根据试卷id查询所有题目
    List<ExamQuestion> findQuestionByPaperId(Integer id);
    //批量禁用题目
    int forbiddenBat(@Param("list") List<Integer> list);

    //批量启用题目
    int enableBat(@Param("list") List<Integer> list);

    //删除题目
    int delQuestion(@Param("id")Integer id);


}
